<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui"
	xmlns:c="http://java.sun.com/jsp/jstl/core">

<ui:composition  template="template.xhtml"    >
	
	<ui:define name="principal">
		
		<h:form id="frmCadastroCaixa">
		
   			<p:growl id="message" 
			         showDetail="true" 
			         globalOnly="true"
			         sticky="false" 
			         life="1200" />	
			<p:panel header="#{msg['label.caixa.nome.tela']}" 
			         styleClass="pnFormularioCadastro">
				<h:panelGrid columns="3" >
				    <p:column>
					    <p:outputLabel value="Caixa Aberto: " />
					    <p:outputLabel value="#{caixaMovimentoMB.caixaAberto.idCaixa} - "
						               style="color: blue;" />
						<p:outputLabel value="#{caixaMovimentoMB.caixaAberto.dataCaixa}"
						               style="color: blue;" >
							<f:convertDateTime pattern="dd/MM/yyyy"/>
						</p:outputLabel>
				    </p:column>
					<p:column>
					    <p:spacer width="20" height="0" />
					    <p:outputLabel value="Total Caixa Aberto: " />
						<p:outputLabel value="#{caixaMovimentoMB.getTotalCaixaAberto()}"
						               style="color: blue;" >
							<f:convertNumber pattern="##,##0.00" />
						</p:outputLabel>
					</p:column>					
					<p:column>
						<p:spacer width="20" height="0" />
						<p:commandButton value="Fechar Caixa"
										 immediate="true"
										 action="#{caixaMovimentoMB.fechaCaixa()}" />
					</p:column>
				</h:panelGrid>
			</p:panel>	
		
			<p:panel header="#{msg['label.caixa.nome.tela']}" 
			         styleClass="pnFormularioCadastro">
				<h:panelGrid columns="1" >
					<p:outputLabel value="#{msg['label.caixa.data']}" />
					<p:calendar id="dataCaixa"
								value="#{caixaMovimentoMB.caixaMovimento.dataCaixa}"
								size="30"
								pattern="dd/MM/yyyy"
								locale="pt"
								timeZone="#{caixaMovimentoMB.timeZone}" >
					</p:calendar>					
					<p:message for="dataCaixa" />	
					
					<p:outputLabel value="#{msg['label.caixa.tipoCaixa']}" />
					<p:selectOneMenu id="tipoCaixa"
					                 value="#{caixaMovimentoMB.caixaMovimento.tipoCaixaMovimento.idTipoCaixaMovimento}"
					                 style="width: 230px;"
					                 required="true"
					                 requiredMessage="#{msg['mensagem.obrigatoria']}" >
						<f:selectItem itemValue="0" itemLabel="Selecione o Tipo do Caixa"/>
						<f:selectItems value="#{caixaMovimentoMB.listaTipoCaixa}" 
						               var="tipoCaixa" 
						               itemValue="#{tipoCaixa.idTipoCaixaMovimento}" 
						               itemLabel="#{tipoCaixa.descricao}" />
					</p:selectOneMenu>	
					<p:message for="tipoCaixa" />
					
					<p:outputLabel value="#{msg['label.caixa.formaPagamento']}" />
					<p:selectOneMenu id="formaPagto"
					                 value="#{caixaMovimentoMB.caixaMovimento.formaPagamento.idFormaPagamento}"
					                 style="width: 230px;"
					                 required="true"
					                 requiredMessage="#{msg['mensagem.obrigatoria']}" >
						<f:selectItem itemValue="0" itemLabel="Selecione a Forma de Pagamento"/>
						<f:selectItems value="#{caixaMovimentoMB.listaFormaPagamento}" 
						               var="formaPagto" 
						               itemValue="#{formaPagto.idFormaPagamento}" 
						               itemLabel="#{formaPagto.descFormaPagamento}" />
					</p:selectOneMenu>	
					<p:message for="formaPagto" />
					
					<p:outputLabel value="#{msg['label.caixa.observacao']}" />
					<p:inputTextarea id="observacao"
					                 value="#{caixaMovimentoMB.caixaMovimento.observacao}" 
					                 cols="50"
					                 rows="5" />
					
					<p:outputLabel value="#{msg['label.caixa.valor']}" />
					<p:inputText id="valor"
					             value="#{caixaMovimentoMB.caixaMovimento.valor}"
					             size="30"
					             required="true"
					             requiredMessage="#{msg['mensagem.obrigatoria']}">
						<f:convertNumber pattern="##,##0.00" />
					</p:inputText>	
					<p:message for="valor" />						
					
							            
				</h:panelGrid>
				<h:panelGrid columns="1"
			      	         styleClass="pgBotoes" >
					<p:column>
						<p:commandButton value="Salvar"
								         action="#{caixaMovimentoMB.salva()}"
						 				 update=":frmCadastroCaixa, :frmListagemCaixa" />
						<p:spacer width="20" height="0"/>
						<p:commandButton value="Limpar"
						 				 update=":frmCadastroCaixa"
						 				 immediate="true" >
							<p:resetInput target=":frmCadastroCaixa" />								         
						</p:commandButton>
		               	<p:spacer width="20" height="0" />
		               	<p:commandButton value="Fechar"
		               					 immediate="true"
		               	                 action="agenda" />		   						
					</p:column>
				</h:panelGrid>						
			</p:panel>
		</h:form>
		
		<h:form id="frmListagemCaixa">
			<p:panel header="Caixa Movimento Cadastrados" styleClass="pnFormularioCadastro" >
				<p:dataTable id="tbCaixa" 
				             value="#{caixaMovimentoMB.listaCaixa}" 
				             var="reg"
				             emptyMessage="Nenhum registro Encontrado" >
					<p:column headerText="Caixa"
					          width="20%">
						<p:outputLabel value="#{reg.dataCaixa}" >
							<f:convertDateTime pattern="dd/MM/yyyy"/>
						</p:outputLabel>
					</p:column>	
					<p:column headerText="Tipo Caixa"
					          width="30%">
						<p:outputLabel value="#{reg.tipoCaixaMovimento.descricao}"/>
					</p:column>	
					<p:column headerText="Forma Pagto"
					          width="15%">
						<p:outputLabel value="#{reg.formaPagamento.descFormaPagamento}"/>
					</p:column>	
					<p:column headerText="Valor"
					          width="20%"
					          styleClass="colunaValor">
						<p:outputLabel value="#{reg.valor}" >
							<f:convertNumber pattern="##,##0.00" />
						</p:outputLabel>
					</p:column>						
					<p:column headerText="Ações"
							  style="align: center;"		
					          width="15%">
						<p:commandLink update=":frmCadastroCaixa" 
						               rendered="#{reg.tipoCaixaMovimento.idTipoCaixaMovimento == 3 || reg.tipoCaixaMovimento.idTipoCaixaMovimento == 4}">														            
							<h:graphicImage library="imagens" 
											name="editar.png"
											alt="Editar" />
							<f:setPropertyActionListener target="#{caixaMovimentoMB.caixaMovimento}" value="#{reg}" />
						</p:commandLink>
					</p:column>	
				</p:dataTable>
			</p:panel>
		</h:form>
		
		<p:dialog widgetVar="dlgConfirmaFechamento"  >
			<p:outputLabel value="Confirma o Fechamento do Caixa?"  />
			<br />
			<br />
			<p:commandButton value="Sim"
							 action="#{caixaMovimentoMB.confirmaFechaCaixa()}"
							 immediate="true" 
							 update=":frmCadastroCaixa, :frmListagemCaixa"			                 
			                 oncomplete="PF('dlgConfirmaFechamento').hide()" />
			<p:spacer width="5px" />
			<p:commandButton value="Não"
			                 oncomplete="PF('dlgConfirmaFechamento').hide()" />
		</p:dialog>				
		
	</ui:define>
	
</ui:composition>
</html>